package com.ideaaedi.shardingdynamictable.entity.bo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.tuple.Pair;

import java.util.List;
import java.util.TreeSet;

/**
 * (non-javadoc)
 *
 * @author JustryDeng
 * @since 2022/10/7 16:36:05
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UpdateActualDataNodeBO {
    
    /**
     * 逻辑表名
     */
    private String logicTableName;
    
    /**
     * 多数据源的话，那么 datasourceArgs和realTableNames应该有多对
     * <br />
     * 注：本项目只有一个数据源所以只指定了分表策略及算法； 如果有多数据源的话，需要指定分库策略及算法
     *
     * 左 - 当前数据源相关配置
     * 右 - 真实表名
     */
    private List<Pair<DatasourceArgs, TreeSet<String>>> dsAndRealTablesPairList;
}
